A typical digital computer consists of four main hardware components. These components are the central processing unit (CPU), the input and output units, and the memory. The CPU is designed to control the sequencing of program steps and to gate information through the various units in the computer, such as the arithmetic unit, the accumulator registers, and to pass information to and from the memory as well as the input/output units. Input/output units serve to transfer data to and from external devices, such as printers, tapes, disks, displays and external communication links.
The memory is used to hold programs and data needed during the execution of the program. Since the main memory usually retains information in the form of changeable states (whether on or off) of numerous binary core or semi-conductor elements, the contents of the memory can be read and also can be changed by writing into the appropriate address.
The larger modern computers contain one or several of the following types of programs in order to maximize the efficiency to the user:
A. An operating system program to control the interactions between other program elements, peripheral devices and data files.
B. A scheduler program to set up the sequencing of the various tasks required.
C. Application programs to carry out the required calculation or process control.
D. Various other programs relating to linkage routines and peripheral drivers.
E. In addition, a large computer may include various translator or compiler programs to translate operator instructions into computer programs.
Because the main memory is finite in size, application programs and data are usually shuttled in and out of the main memory from some auxiliary storage, such as magnetic tape on an as needed basis, if there is space available. However, during the time that a program is being executed, that particular program and pertinent data reside in the main memory.
Human communications with the computer occur through consoles, printers and cathode ray tube displays. Through these input and output peripheral devices, the operator sends instructions to the computer and can also provide data and interpret the results.
Recent developments include remote terminal and time-shared systems. In such systems, many users, often remote from the computer can use the system more or less simultaneously, through communication with the computer during very rapidly accessible time-slices. Typical of these recent systems are the time-sharing services which are commercially available and the airline reservation systems. In these systems, the terminal is a passive device intended to provide communication between the operator and a centralized computer.